//
// Created by wkm on 2024-04-17.
//

#include "x4time_test.h"

void x4time_test() {
    sc_clock clk("my_clk", 2, SC_NS);
    sc_signal<bool> start, reset;
    sc_signal <sc_uint<DATA_SIZE>> input_data, result;
    sc_signal <exe_state> done;

    x4time my_x4time("my_x4time");
    my_x4time.start(start);
    my_x4time.reset(reset);
    my_x4time.clk(clk);
    my_x4time.input_data(input_data);
    my_x4time.result(result);
    my_x4time.done(done);


    x4time_driver my_x4time_driver("my_x4time_driver");
    my_x4time_driver.d_start(start);
    my_x4time_driver.d_reset(reset);
    my_x4time_driver.d_clk(clk);
    my_x4time_driver.d_input_data(input_data);

    x4time_monitor my_x4time_monitor("my_x4time_monitor");
    my_x4time_monitor.m_result(result);
    my_x4time_monitor.m_done(done);

    sc_start();
}